【Jmeter】解决高并发,接口报错Socket closed问题 您所在的位置:网站首页 jmeter reset 【Jmeter】解决高并发,接口报错Socket closed问题

【Jmeter】解决高并发,接口报错Socket closed问题

2024-06-26 19:40| 来源: 网络整理| 查看: 265

Jmeter 做性能测试遇到了一些问题,就记录下了问题及其解决的方法。

问题1:Jmeter并发超过 300 报错

“java.net.SocketException:Socket closed”,300个 request 请求之后几个请求报错,起初以为是服务端的问题,查看服务端状态,cpu 和内存使用率都很低,cpu 空闲达到98%以上,证明请求没有发送到服务端,查看日志也没有报错信息,证明不是服务端的问题,然后查看报错的响应,发现是 Jmeter 的报错。

原因:JMeter 发送 http 请求时,一般默认选择 use keepAlive 长连接协议,默认勾选该选项,其配置 jmeter.properties 中的空闲等待时间设置默认被注销,也就是不会等待,一旦连接空闲,则立马断开连接,导致压测中出现了事务失败情况,要解决此问题,需要设置空闲等待时间。 设置时需将圈起来的取消勾选! 在这里插入图片描述 解决方法:修改 jmeter.properties 文件中空闲等待时间,打开文件,并找到httpclient4.idletimeout ,将值设置为 60000 单位为毫秒也就是60秒,并将该行注释去掉并保存文件,重新 Jmeter 后配置方生效,后面我即使并发到了2000也没有报 Socket closed 的错误。 在这里插入图片描述 问题二:Jmeter 单机设置的并发用户数不要超过2000,实战用到的压测机8核CPU、16G内存,为了验证Jmeter单机支持的最大并发用户,先设置5000并发 Jmeter运行后直接报错,机器内存不足。

将并发用户数调整2000 可正常执行,但 Jmeter 官方建议,测试 web 应用 单机并发 350-500个用户,测试后端 API 性能压测机8核CPU + 64位操作系统,单机并发 900-1100用户。做性能压测试时可依照官方建议设定单机并发用户数,若压测机器配置较高,可适当提升并发用户量,但最好不要超过2000并发用户。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有